package com.ruoyi.common.utils;

import cn.hutool.extra.qrcode.QrCodeUtil;
import cn.hutool.extra.qrcode.QrConfig;
import java.io.*;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
import javax.imageio.ImageIO;
import java.io.IOException;

/**
 * 生成二维码
 */
public class QRUtils {

    public byte[] qrCreate() {
        QrConfig config = new QrConfig(200, 200);
        // 设置边距，既二维码和背景之间的边距
        config.setMargin(1);
//        // 设置前景色，既二维码颜色（青色）
//        config.setForeColor(Color.CYAN.getRGB());
//        // 设置背景色（灰色）
//        config.setBackColor(Color.GRAY.getRGB());
        // 设置附带小logo图标
        config.setImg("D:\\triones\\农神快拉\\logo.png");
        config.setErrorCorrection(ErrorCorrectionLevel.H);
        // 生成二维码到文件，也可以到流
        java.awt.image.BufferedImage image = QrCodeUtil.generate("https://api.nskuaila.com/infra/file/1751917084582313986/get//nskl/normal/7488007653d36a56b6617bd16f927e240d1d53825dda380918b2d5aa181520a9.apk\n",
            config);
        // 创建输出流
        ByteArrayOutputStream byteArrayOutputStream = new  ByteArrayOutputStream();
        //写入流
        try {
            ImageIO.write(image, "jpg", byteArrayOutputStream);
            // 刷新
            byteArrayOutputStream.flush();
            // 转byte[]数组
            byte[] bytes = byteArrayOutputStream.toByteArray();
            // 关闭
            byteArrayOutputStream.close();
            return bytes;
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }
}
